package com.city.java.users.service;

import com.city.java.base.utils.PageVO;
import com.city.java.users.pojo.entity.Users;
import com.city.java.base.response.JsonResult;

import java.util.List;

/**
 * 用户服务接口
 */
public interface UserService {
    /**
     * 添加用户
     * @param user 用户对象
     * @return 操作结果
     */
    JsonResult addUser(Users user);

    /**
     * 根据用户ID获取用户
     * @param userId 用户ID
     * @return 用户信息
     */
    JsonResult getUserById(Long userId);

    /**
     * 根据用户名获取用户
     * @param username 用户名
     * @return 用户信息
     */
    JsonResult getUserByUsername(String username);

    PageVO<Users> select(Users users);

    /**
     * 根据用户ID删除用户
     * @param userId 用户ID
     * @return 操作结果
     */
    JsonResult deleteUserById(Long userId);

    /**
     * 根据用户名删除用户
     * @param username 用户名
     * @return 操作结果
     */
    JsonResult deleteUserByUsername(String username);

    /**
     * 更新用户信息
     * @param user 用户对象
     * @return 操作结果
     */
    JsonResult updateUser(Users user);
    // 在 UserService.java 接口中添加

    JsonResult updateUserPoints(Long userId, Integer points);

    /**
     * 用户登录验证
     * @param users
     * @return
     */
    String login(Users users);
}
